The present invention is predominately described with respect to addressing a need associated with supporting transport of television programs, video, audio and other media using the Moving Pictures Expert Group (MPEG) transmission protocol. The description of MPEG is provided as one example of one type of protocol that supports a frame-based delivery mechanism that is particularly benefited by the present invention. This is done, however, simply for exemplary purposes and without necessarily intending to limit the scope and contemplation of the present invention as the present invention fully contemplates it use with other frame-based transmission architectures.
FIG. 1 illustrates the frame-based nature of an MPEG transport stream 10. The MPEG transport stream 10 includes of a plurality of transport packets (TP). The transport packets are typically 188 byte data packets divided between a header and a payload (see lower portion of FIG. 1). The header, as described below in more detail, generally includes information related to facilitating use of the information included in the payload. The payload may be used to transport virtually any type of data, and for exemplary non-limiting purposes of the present invention, is shown for use in transport image frames of a television program or other media.
The image frames may be configured as one of an intra frame (I frame), a predicted frame (P frame) and a bi-directionally predicted frame (B frame). The use of the I, B, P frames is well known in the art and common to MPEG and other transport protocols. Once transported to an end device (not shown), the transport packets are decoded and the video frames included therein, which may be whole video frames or partial video frames, are processed according to the frame type to facilitate the desired output. Information included in the header may assist with the processing of the video frames included within the payload.
Various pieces of information may be included in the header depending on the transport protocol associated therewith. The headers shown in the MPEG illustration of FIG. 1 include a sync bit, a transport error indicator, a payload unit start indicator, a transport priority, a packet identification (PID), a transport scrambling control, an adaptation field control, a continuity counter, and an adaptation field, the nature of which is readily understood by one having ordinary skill in the art. Each of these header portions may include additional information as one having ordinary skill in the art will also appreciate. The adaptation field, for example, is shown to include additional information related to an adaptation field length, a discontinuity indicator, a random access indicator (RAI), an elementary stream priority indicator, 5 flags, optional fields, and stuffing bytes.
The end devices configured to process the header and frame-based payload information have traditionally included a player, decoder, or similar element having capabilities sufficient to output a rendering of the transported media. These devices have evolved over time to support operations beyond those associated with simply rendering the media for output. In some cases, the devices are able to execute application related operations, such as those associated with supporting interactive television/gaming, dynamic advertisement insertion, closed captioning, sub-titles, interactive messaging (e.g., text, SMS, MMS, email, etc.), web-browsing, and the like.
The execution of these types of applications, and many other operations associated with the end devices, may be reliant on identifying frames of a frame-based transport stream and/or synchronizing event timing relative to the frames of the frame-based transport stream. Accordingly, a need exists to facilitate identifying frames and/or to synchronize event timing.